# -*- coding: utf-8 -*-

from django.core.mail import send_mail
from django.shortcuts import render_to_response
from django.template.context import RequestContext, Context
from models import *
from django import forms


def homepage(request):
    parceiro = Parceiro.objects.all().order_by('-publicar','-data_entrada')
    manchete = Noticias.objects.filter(destaque__icontains=1,publicar__icontains=1).order_by('-data')
    noticias = Noticias.objects.all().order_by('-data').filter(publicar__icontains=1)
    noticiasdf = Noticias.objects.filter(estado__id__icontains = 2,publicar__icontains=1,destaque__icontains=0).order_by('-data')
    noticiaspi = Noticias.objects.filter(estado__id__icontains = 1,publicar__icontains=1,destaque__icontains=0).order_by('-data')
    noticiassp = Noticias.objects.filter(estado__id__icontains = 4,publicar__icontains=1,destaque__icontains=0).order_by('-data')
    noticiasma = Noticias.objects.filter(estado__id__icontains = 3,publicar__icontains=1,destaque__icontains=0).order_by('-data')
    estado = Estado.objects.all().order_by('nome')
    publicidade = Publicidade.objects.filter(data_entrada__lte=datetime.now(),data_saida__gte=datetime.now())
    return render_to_response('nuntius/index.html',locals(),context_instance=RequestContext(request))

def noticiainterna(request,slug):
    parceiro = Parceiro.objects.all().order_by('-publicar','-data')
    noticias = Noticias.objects.get(slug=slug)
    estado = Estado.objects.all().order_by('nome')
    noticiasultimas = Noticias.objects.all().order_by('-data').filter(publicar__icontains=1)
    publicidade = Publicidade.objects.filter(data_entrada__lte=datetime.now(),data_saida__gte=datetime.now())
    return render_to_response('nuntius/sub_noticia.html',locals(),context_instance=RequestContext(request))

def noticiasuf(request,estado_id):
    parceiro = Parceiro.objects.all().order_by('-publicar','-data')
    estado = Estado.objects.all().order_by('nome')
    noticiasestado = Noticias.objects.filter(estado=estado_id)
    estadouf = Estado.objects.all().get(id=estado_id)
    publicidade = Publicidade.objects.filter(data_entrada__lte=datetime.now(),data_saida__gte=datetime.now())
    return render_to_response('nuntius/uf.html',locals(),context_instance=RequestContext(request))


def ultimas(request):
    estado = Estado.objects.all().order_by('nome')
    noticias = Noticias.objects.all().order_by('-data').filter(publicar__icontains=1)
    publicidade = Publicidade.objects.filter(data_entrada__lte=datetime.now(),data_saida__gte=datetime.now())
    return render_to_response('nuntius/ultimas.html',locals(),context_instance=RequestContext(request))

class FormContato(forms.Form):
    nome = forms.CharField(max_length=50)
    email = forms.EmailField(label = ('E-mail'),required=False)
    telefone = forms.CharField(max_length=10,required = False)
    assunto = forms.CharField(max_length=50)
    mensagem = forms.Field(widget=forms.Textarea)

    def enviar(self):
        titulo = 'Mensagem enviada pelo site'
        destino = 'stw.tecnologia.pi@gmail.com'
        texto = """
        Nome: %(nome)s
        E-mail: %(email)s
        Telefone: %(telefone)s
        Assunto: %(assunto)s
        Mensagem: %(mensagem)s
        """ % self.cleaned_data

        send_mail(
            subject=titulo,
            message=texto,
            from_email=destino,
            recipient_list=[destino],
            )


def contato(request):
    estado = Estado.objects.all().order_by('nome')
    publicidade = Publicidade.objects.filter(data_entrada__lte=datetime.now(),data_saida__gte=datetime.now())
    if request.method == 'POST':
        form = FormContato(request.POST)

        if form.is_valid():
            form.enviar()
            mostrar = 'Contato enviado!'
            form = FormContato()
    else:
        form = FormContato()

    return render_to_response(
        'nuntius/contato.html',
        locals(),
        context_instance=RequestContext(request),
        )

def busca(request):
    publicidade = Publicidade.objects.filter(data_entrada__lte=datetime.now(),data_saida__gte=datetime.now())
    from django.db.models.query_utils import Q
    estado = Estado.objects.all().order_by('nome')
    quante = 0
    if request.GET['buscap']!='' or request.GET['id_estado']!='':
        ites = Noticias.objects.filter((Q(subtitulo__icontains = request.GET['buscap'])| Q(titulo__icontains = request.GET['buscap'])),estado__nome__icontains = request.GET['id_estado'])
        if ites:
            quante = ites.count()
        c = Context({'itens_busca': ites, 'quant':quante, 'bus':request.GET['buscap'],'est':request.GET['id_estado']})
        return render_to_response('nuntius/busca.html', locals() ,context_instance=RequestContext(request,c))


    return render_to_response('nuntius/index.html', locals() ,context_instance=RequestContext(request,{'msg':'Por Favor, preencha pelo menos um campo de busca!'}))
